package data.characters.skills;

import com.fs.starfarer.api.campaign.econ.MarketAPI;
import com.fs.starfarer.api.characters.LevelBasedEffect;
import com.fs.starfarer.api.characters.MarketSkillEffect;
import com.fs.starfarer.api.characters.LevelBasedEffect.ScopeDescription;
import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;

public class D_overchargeindustry {
    public static int SUPPLY_BONUS = 3;
    public static float STABILITY_BONUS = -2.0F;

    public D_overchargeindustry() {
    }

    public static class Level1 implements MarketSkillEffect {
        public Level1() {
        }

        public void apply(MutableCharacterStatsAPI stats, String id, float level) {
            stats.getDynamic().getMod("supply_bonus").modifyFlat(id, (float)D_overchargeindustry.SUPPLY_BONUS);
        }

        public void unapply(MutableCharacterStatsAPI stats, String id) {
            stats.getDynamic().getMod("supply_bonus").unmodifyFlat(id);
        }

        public String getEffectDescription(float level) {
            return "所有工业设施的成品产量均 +" + D_overchargeindustry.SUPPLY_BONUS + " 单位";
        }

        public String getEffectPerLevelDescription() {
            return null;
        }

        public LevelBasedEffect.ScopeDescription getScopeDescription() {
            return ScopeDescription.GOVERNED_OUTPOST;
        }
    }
    public static class Level2 implements MarketSkillEffect {
        public Level2() {
        }

        public void apply(MarketAPI market, String id, float level) {
            market.getStability().modifyFlat(id, D_overchargeindustry.STABILITY_BONUS, "隐患");
        }

        public void unapply(MarketAPI market, String id) {
            market.getStability().unmodifyFlat(id);
        }

        public String getEffectDescription(float level) {
            return "+" + (int)D_overchargeindustry.STABILITY_BONUS + " 稳定性";
        }

        public String getEffectPerLevelDescription() {
            return null;
        }

        public LevelBasedEffect.ScopeDescription getScopeDescription() {
            return ScopeDescription.GOVERNED_OUTPOST;
        }
    }
}